/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package exceptions;

import Properties.BundleTool;
import java.util.HashMap;
import java.util.Map;

/**
 * Classe repertoriant les messages d'erreurs à afficher à l'utilisateur
 * @author D.Romain
 * @author O.Riad
 */
public class CodesErreur {
    
    /**
     * Map representant les messages d'erreur d'ordre general 
     */
    private static Map<Integer, String> codes = new HashMap<Integer, String>();
    static{
        codes.put(1, BundleTool.getBundle().getString("noMain"));
        codes.put(2, BundleTool.getBundle().getString("fileNotFound"));
        codes.put(3, BundleTool.getBundle().getString("ReadException"));
        codes.put(4, BundleTool.getBundle().getString("FileError"));
        codes.put(5, BundleTool.getBundle().getString("tokenEncountred"));
        codes.put(6, BundleTool.getBundle().getString("line"));
        codes.put(7, BundleTool.getBundle().getString("column"));
        codes.put(8, BundleTool.getBundle().getString("tokensExpected"));
        codes.put(9, BundleTool.getBundle().getString("variable"));
        
    }
    
    /**
     * Renvois le message selon le code erreur
     * @param numErreur
     * @return message d'erreur d'ordre general
     */
    public static String code(Integer numErreur){
        return CodesErreur.codes.get(numErreur);
    }
    
    /**
     * Map representant les messages d'erreur liées aux ASAExpression
     */
    private static Map<Integer, String> codesExpression = new HashMap<Integer, String>();
    static{
        codesExpression.put(1, BundleTool.getBundle().getString("DivisionBy0"));   
        
    }
    
    /**
     * Renvois le message selon le code erreur
     * @param numErreur
     * @return message d'erreur d'ASAExpression
     */
    public static String codeExpression(Integer numErreur){
        return CodesErreur.codesExpression.get(numErreur);
    }
}
